<?php

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of kernnel
 *
 * @author 
 */
class Kernnel {

    public $uri; //propriedade que ira intanciar core de url(uri/handleurl.class.php)
    public $getInstace; //instacia a classe controladora
    
    /* METODO CONSTRUTOR QUE IRA INSTANCIAR O CORE DO SISTEMA
     * ***TODOS OS CORE DO SITEMA SERAO INSTANCIADO AQUI
     */
    function __construct($logged) {
        $this->uri = new HandleUrl();
        $controller = $this->uri->callController($logged);        
        if(class_exists($controller)){
            $this->getInstace = new $controller();        
        }else{
            $this->getInstace = false;
        }
    }

    /* METODO QUE RESPONSAVEL POR CHAMAR OS CONTROLADORES E SEUS METODOS(ACTIONS)
     * @PARAM STRING $controller = NOME DA CONTROLADORA A SER CHAMADA;
     * RETURN MIXED
     */
    public function renderView() {
        if(!$this->getInstace){echo "Pagina nao encontrada no sistema";exit();}
        $this->getInstace->index();
    }
    
}
